/**
 * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
 *
 * 
 * @param array int整型一维数组 
 * @return int整型一维数组
 */
 function reOrderArray( array ) {
  // write code here
  var i = 0 // 定义最左边的元素
  while(i < array.length - 1){ // 判断循环条件 i在这个范围内 因为还有j所以还需要长度-1
    var j = i + 1 // j是i后一位的数字
    if(array[i] % 2 === 0){ // 如果i数组是偶数 就可以进行后面的计算 可以交换
      while(array[j] % 2 === 0){ // 判断i后面的数字是不是奇数 如果是 就进行后面的计算
        if(j === array.length - 1){ // 判断j是不是最后一位
          return array // 是最后一位 那就不用栋了
        }
        j++ // j向后移一位
      }
      var temp = array[j] // 出来说明j位置是奇数
      for(var m = j;m > i;m--){ // 将j挪到最前面
        array[m] = array[m-1]
      }
      array[i] = temp 
    }
    i++ // 如果不是i后移
  }
  return array
}
module.exports = {
  reOrderArray : reOrderArray
};